package cn.zwk.repository.po;

import cn.zwk.common.model.TreeVo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 菜单管理(Menu)实体类
 *
 * @author 朱文康
 * @since 2024-06-30 12:25:56
 */
@Data
@TableName("zwk_menu")
public class Menu extends TreeVo<Menu> implements Serializable {

    private static final long serialVersionUID = 713607651741240071L;
    /**
     * ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;
    /**
     * 父菜单ID
     */
    private Long parentId;
    /**
     * 菜单名称
     */
    private String name;
    /**
     * 菜单类型（1：目录，2：菜单，3：按钮，4：外链）
     */
    private Integer type;
    /**
     * 路由参数
     */
    private String params;
    /**
     * 路由路径（页面对应的浏览器 URL 路径）
     */
    private String path;
    /**
     * 组件的唯一标识
     */
    private String componentId;
    /**
     * 组件路径，冗余字段
     */
    private String component;
    /**
     * 页面标识
     */
    private String perm;
    /**
     * 【目录】只有一个子路由是否始终显示（1：是，0：否）
     */
    private Integer alwaysShow;
    /**
     * 【菜单】是否开启页面缓存（1：是，0：否）
     */
    private Integer keepAlive;
    /**
     * 显示状态（1：显示，0：隐藏）
     */
    private Integer visible;
    /**
     * 排序
     */
    private Integer sort;
    /**
     * 菜单图标
     */
    private String icon;
    /**
     * 跳转路径
     */
    private String redirect;
    /**
     * 创建时间
     */
    private LocalDateTime createTime;
    /**
     * 更新时间
     */
    private LocalDateTime updateTime;
}

